﻿using System.Collections.Generic;

namespace Algoritmia.StateSpaces
{
    public interface IForwardStateSpace<TState, TDecision>
    {
        TState Decide(TState state, TDecision decision);
        IEnumerable<TDecision> Decisions(TState state);
        IEnumerable<TState> InitialStates { get; }
        bool IsFinal(TState state);
    }
}
